import { Toast } from 'vant';
/**
 * 控制loading
 * @param {Boolean} value
 */
export function setLoading(value) {
  if (value) {
    Toast.loading({
      message: '加载中...',
      forbidClick: true,
      duration: 0
    });
  } else {
    Toast.clear();
  }
}
// 获取url参数
export const getQueryString = (name) => {
  let reg = new RegExp('[?&]' + name + '=([^&#]+)', 'i');
  let r = window.location.href.match(reg);
  return r != null ? unescape(r[1]) : null;
};

const toString = Object.prototype.toString;

/**
 * 判断是否是数组
 * @param {*} val
 */
export function isArray(val) {
  return toString.call(val) === '[object Array]';
}

/**
 * 判断是否是FormData类型
 * @param {*} val
 */
export function isFormData(val) {
  return typeof FormData !== 'undefined' && val instanceof FormData;
}

/**
 * 判断是否是函数
 * @param {*} val
 */
export function isFunction(val) {
  return toString.call(val) === '[object Function]';
}

/**
 * 判断是否是字符串
 * @param {*} val
 */
export function isString(val) {
  return typeof val === 'string';
}

/**
 * 判断是否是数字
 * @param {*} val
 */
export function isNumber(val) {
  return typeof val === 'number';
}

/**
 * 判断是否是`undefined`
 * @param {*} val
 */
export function isUndefined(val) {
  return typeof val === 'undefined';
}

/**
 * 判断是否是对象
 * @param {*} val
 */
export function isObject(obj) {
  return (
    typeof obj === 'object' &&
    obj !== null &&
    !Array.isArray(obj) &&
    !(obj instanceof RegExp) &&
    !(obj instanceof Date)
  );
}

/**
 * 判断是否是日期数据
 * @param {*} val
 */
export function isDate(val) {
  return toString.call(val) === '[object Date]';
}
